<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>libnetconf: NETCONF Event Notifications</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="../../libnetconf-logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">libnetconf
   &#160;<span id="projectnumber">0.10.0-146_trunk</span>
   </div>
   <div id="projectbrief">NETCONF Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="../../pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="../../modules.html"><span>Modules</span></a></li>
      <li><a href="../../annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="../../files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="../../search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('da/d54/group__notifications.html','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">NETCONF Event Notifications</div>  </div>
</div><!--header-->
<div class="contents">

<p>libnetconf's implementation of NETCONF asynchronous message delivery as defined in RFC 5277.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga3c2f8ca237327fcf3c871544f414bdfe"><td class="memItemLeft" align="right" valign="top">typedef struct nc_msg&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a></td></tr>
<tr class="memdesc:ga3c2f8ca237327fcf3c871544f414bdfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Event notification message.  <a href="#ga3c2f8ca237327fcf3c871544f414bdfe">More...</a><br/></td></tr>
<tr class="separator:ga3c2f8ca237327fcf3c871544f414bdfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gadcf8c532762d57f7d9a5491e6abb9977"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#gadcf8c532762d57f7d9a5491e6abb9977">NCNTF_EVENT</a> { <br/>
&#160;&#160;<a class="el" href="../../da/d54/group__notifications.html#ggadcf8c532762d57f7d9a5491e6abb9977abd5b82879a0ac7c45f8556154fb6286a">NCNTF_ERROR</a> = -1, 
<a class="el" href="../../da/d54/group__notifications.html#ggadcf8c532762d57f7d9a5491e6abb9977a1f1e3c2032baf2542b06052243bd42c9">NCNTF_GENERIC</a> = 0, 
<a class="el" href="../../da/d54/group__notifications.html#ggadcf8c532762d57f7d9a5491e6abb9977aa440351ba1c82a0dd9e5301a6d03c5ac">NCNTF_REPLAY_COMPLETE</a> = 1, 
<a class="el" href="../../da/d54/group__notifications.html#ggadcf8c532762d57f7d9a5491e6abb9977a0a0d2e20f15e710f1da3dace9a55fc67">NCNTF_NTF_COMPLETE</a> = 2, 
<br/>
&#160;&#160;<a class="el" href="../../da/d54/group__notifications.html#ggadcf8c532762d57f7d9a5491e6abb9977a9cf730f96784afdb8d783df8dacfab21">NCNTF_BASE_CFG_CHANGE</a> = 3, 
<a class="el" href="../../da/d54/group__notifications.html#ggadcf8c532762d57f7d9a5491e6abb9977af6adea71e2edc918ae1f7ade6f11ca59">NCNTF_BASE_CPBLT_CHANGE</a> = 4, 
<a class="el" href="../../da/d54/group__notifications.html#ggadcf8c532762d57f7d9a5491e6abb9977a7e0ecf6ec462565f5bc9a1edfd7d4c6c">NCNTF_BASE_SESSION_START</a> = 5, 
<a class="el" href="../../da/d54/group__notifications.html#ggadcf8c532762d57f7d9a5491e6abb9977a1c06188153af81757d0ba8aac0768550">NCNTF_BASE_SESSION_END</a> = 6, 
<br/>
&#160;&#160;<a class="el" href="../../da/d54/group__notifications.html#ggadcf8c532762d57f7d9a5491e6abb9977a2048b9cca78f499a6f361e9eeb9fa3e5">NCNTF_BASE_CONFIRMED_COMMIT</a> = 7
<br/>
 }</td></tr>
<tr class="memdesc:gadcf8c532762d57f7d9a5491e6abb9977"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration of supported NETCONF event notifications.  <a href="../../da/d54/group__notifications.html#gadcf8c532762d57f7d9a5491e6abb9977">More...</a><br/></td></tr>
<tr class="separator:gadcf8c532762d57f7d9a5491e6abb9977"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e9d948b3807d679482c737da720477d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#ga1e9d948b3807d679482c737da720477d">NCNTF_EVENT_BY</a> { <a class="el" href="../../da/d54/group__notifications.html#gga1e9d948b3807d679482c737da720477da378e4e13ce4d7f8e1ede2a876fbc30e0">NCNTF_EVENT_BY_SERVER</a>, 
<a class="el" href="../../da/d54/group__notifications.html#gga1e9d948b3807d679482c737da720477dab20423755c56c213cd2567b2bbf1f9c2">NCNTF_EVENT_BY_USER</a>
 }</td></tr>
<tr class="memdesc:ga1e9d948b3807d679482c737da720477d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration of the possible source of events.  <a href="../../da/d54/group__notifications.html#ga1e9d948b3807d679482c737da720477d">More...</a><br/></td></tr>
<tr class="separator:ga1e9d948b3807d679482c737da720477d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gafda56cbfe02d24877d0740618aa2de98"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../db/de9/group__rpc.html#gab21d1d39737065c552f2ccc5b4819262">nc_rpc</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#gafda56cbfe02d24877d0740618aa2de98">nc_rpc_subscribe</a> (const char *stream, const struct nc_filter *filter, const time_t *start, const time_t *stop)</td></tr>
<tr class="memdesc:gafda56cbfe02d24877d0740618aa2de98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create &lt;create-subsciption&gt; NETCONF rpc message.  <a href="#gafda56cbfe02d24877d0740618aa2de98">More...</a><br/></td></tr>
<tr class="separator:gafda56cbfe02d24877d0740618aa2de98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad7ffa424401e8004fb24f9f77f0bb5be"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d35/group__gen_a_p_i.html#ga298c7a4ad5cc76169a211f86df90f057">NC_MSG_TYPE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#gad7ffa424401e8004fb24f9f77f0bb5be">nc_session_recv_notif</a> (struct nc_session *session, int timeout, <a class="el" href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a> **ntf)</td></tr>
<tr class="memdesc:gad7ffa424401e8004fb24f9f77f0bb5be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive a &lt;notification&gt; message from the specified NETCONF session. This function is supposed to be performed only by NETCONF clients.  <a href="#gad7ffa424401e8004fb24f9f77f0bb5be">More...</a><br/></td></tr>
<tr class="separator:gad7ffa424401e8004fb24f9f77f0bb5be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2a6cd8e0aaaaf4e1b84d3a498a2a710c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#ga2a6cd8e0aaaaf4e1b84d3a498a2a710c">nc_session_send_notif</a> (struct nc_session *session, const <a class="el" href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a> *ntf)</td></tr>
<tr class="memdesc:ga2a6cd8e0aaaaf4e1b84d3a498a2a710c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send &lt;notification&gt; message from server to client.  <a href="#ga2a6cd8e0aaaaf4e1b84d3a498a2a710c">More...</a><br/></td></tr>
<tr class="separator:ga2a6cd8e0aaaaf4e1b84d3a498a2a710c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga82da94949fd2d901c3abb2c82882346c"><td class="memItemLeft" align="right" valign="top">long long int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#ga82da94949fd2d901c3abb2c82882346c">ncntf_dispatch_receive</a> (struct nc_session *session, void(*process_ntf)(time_t eventtime, const char *content))</td></tr>
<tr class="memdesc:ga82da94949fd2d901c3abb2c82882346c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subscribe for receiving notifications from the given session according to parameters in the given subscribtion RPC. Received notifications are processed by the given process_ntf callback function. Functions stops when the final notification &lt;notificationComplete&gt; is received or when the session is terminated.  <a href="#ga82da94949fd2d901c3abb2c82882346c">More...</a><br/></td></tr>
<tr class="separator:ga82da94949fd2d901c3abb2c82882346c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9a085479245b4da6e20fd89892cc7bc1"><td class="memItemLeft" align="right" valign="top">long long int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#ga9a085479245b4da6e20fd89892cc7bc1">ncntf_dispatch_send</a> (struct nc_session *session, const <a class="el" href="../../db/de9/group__rpc.html#gab21d1d39737065c552f2ccc5b4819262">nc_rpc</a> *subscribe_rpc)</td></tr>
<tr class="memdesc:ga9a085479245b4da6e20fd89892cc7bc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start sending notifications according to the given &lt;create-subscription&gt; NETCONF RPC request. All events from the specified stream are processed and sent to the client until the stop time is reached or until the session is terminated.  <a href="#ga9a085479245b4da6e20fd89892cc7bc1">More...</a><br/></td></tr>
<tr class="separator:ga9a085479245b4da6e20fd89892cc7bc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9641deaca934bcd7ff66ac3ae60fc722"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#ga9641deaca934bcd7ff66ac3ae60fc722">ncntf_event_new</a> (time_t etime, <a class="el" href="../../da/d54/group__notifications.html#gadcf8c532762d57f7d9a5491e6abb9977">NCNTF_EVENT</a> event,...)</td></tr>
<tr class="memdesc:ga9641deaca934bcd7ff66ac3ae60fc722"><td class="mdescLeft">&#160;</td><td class="mdescRight">Store a new event in the specified stream. Parameters are specific for different events.  <a href="#ga9641deaca934bcd7ff66ac3ae60fc722">More...</a><br/></td></tr>
<tr class="separator:ga9641deaca934bcd7ff66ac3ae60fc722"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga226e6acf872c57ca4de3847718cfaafe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#ga226e6acf872c57ca4de3847718cfaafe">ncntf_notif_create</a> (time_t event_time, const char *content)</td></tr>
<tr class="memdesc:ga226e6acf872c57ca4de3847718cfaafe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new &lt;notification&gt; message with the given eventTime and content.  <a href="#ga226e6acf872c57ca4de3847718cfaafe">More...</a><br/></td></tr>
<tr class="separator:ga226e6acf872c57ca4de3847718cfaafe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc56c72fca74236e9c96f694cf521b67"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#gabc56c72fca74236e9c96f694cf521b67">ncntf_notif_free</a> (<a class="el" href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a> *ntf)</td></tr>
<tr class="memdesc:gabc56c72fca74236e9c96f694cf521b67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free the notification message.  <a href="#gabc56c72fca74236e9c96f694cf521b67">More...</a><br/></td></tr>
<tr class="separator:gabc56c72fca74236e9c96f694cf521b67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadc78f4dd6440f4f1ac3ea12092946bd3"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#gadc78f4dd6440f4f1ac3ea12092946bd3">ncntf_notif_get_content</a> (const <a class="el" href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a> *notif)</td></tr>
<tr class="memdesc:gadc78f4dd6440f4f1ac3ea12092946bd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get description of the event reported in the notification message.  <a href="#gadc78f4dd6440f4f1ac3ea12092946bd3">More...</a><br/></td></tr>
<tr class="separator:gadc78f4dd6440f4f1ac3ea12092946bd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae00135a2cb85cb2d74d7f0b8b355ab47"><td class="memItemLeft" align="right" valign="top">time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#gae00135a2cb85cb2d74d7f0b8b355ab47">ncntf_notif_get_time</a> (const <a class="el" href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a> *notif)</td></tr>
<tr class="memdesc:gae00135a2cb85cb2d74d7f0b8b355ab47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Time of the event reported in the notification message.  <a href="#gae00135a2cb85cb2d74d7f0b8b355ab47">More...</a><br/></td></tr>
<tr class="separator:gae00135a2cb85cb2d74d7f0b8b355ab47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f32038a98705a6dbb9d7038f67cbceb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../da/d54/group__notifications.html#gadcf8c532762d57f7d9a5491e6abb9977">NCNTF_EVENT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#ga3f32038a98705a6dbb9d7038f67cbceb">ncntf_notif_get_type</a> (const <a class="el" href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a> *notif)</td></tr>
<tr class="memdesc:ga3f32038a98705a6dbb9d7038f67cbceb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a specific notification type.  <a href="#ga3f32038a98705a6dbb9d7038f67cbceb">More...</a><br/></td></tr>
<tr class="separator:ga3f32038a98705a6dbb9d7038f67cbceb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c44d0f8b0ffe29050de73f2ac209a32"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#ga3c44d0f8b0ffe29050de73f2ac209a32">ncntf_session_get_active_subscription</a> (struct nc_session *session)</td></tr>
<tr class="memdesc:ga3c44d0f8b0ffe29050de73f2ac209a32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if a session has an active notification subscription.  <a href="#ga3c44d0f8b0ffe29050de73f2ac209a32">More...</a><br/></td></tr>
<tr class="separator:ga3c44d0f8b0ffe29050de73f2ac209a32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8c116b8aae2fe13811ebbfd3ca6f1a44"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#ga8c116b8aae2fe13811ebbfd3ca6f1a44">ncntf_status</a> (void)</td></tr>
<tr class="memdesc:ga8c116b8aae2fe13811ebbfd3ca6f1a44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the status data in xml form describing the currently used streams.  <a href="#ga8c116b8aae2fe13811ebbfd3ca6f1a44">More...</a><br/></td></tr>
<tr class="separator:ga8c116b8aae2fe13811ebbfd3ca6f1a44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga05a14f949bbb781fd58a233b1d2fab33"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#ga05a14f949bbb781fd58a233b1d2fab33">ncntf_stream_allow_events</a> (const char *stream, const char *event)</td></tr>
<tr class="memdesc:ga05a14f949bbb781fd58a233b1d2fab33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the rule to allow logging of the specified event on the given Notification stream.  <a href="#ga05a14f949bbb781fd58a233b1d2fab33">More...</a><br/></td></tr>
<tr class="separator:ga05a14f949bbb781fd58a233b1d2fab33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff62ddbbd893faf50d3db3fa3b08c21f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#gaff62ddbbd893faf50d3db3fa3b08c21f">ncntf_stream_info</a> (const char *stream, char **desc, char **start)</td></tr>
<tr class="memdesc:gaff62ddbbd893faf50d3db3fa3b08c21f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get some more details about the specified NETCONF event notifications stream.  <a href="#gaff62ddbbd893faf50d3db3fa3b08c21f">More...</a><br/></td></tr>
<tr class="separator:gaff62ddbbd893faf50d3db3fa3b08c21f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8958e791e810dd07b9121d78c870e8c5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#ga8958e791e810dd07b9121d78c870e8c5">ncntf_stream_isavailable</a> (const char *name)</td></tr>
<tr class="memdesc:ga8958e791e810dd07b9121d78c870e8c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if the given stream is already created and available.  <a href="#ga8958e791e810dd07b9121d78c870e8c5">More...</a><br/></td></tr>
<tr class="separator:ga8958e791e810dd07b9121d78c870e8c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1f45b88f42bd06a4518433f79c5999a3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#ga1f45b88f42bd06a4518433f79c5999a3">ncntf_stream_iter_finish</a> (const char *stream)</td></tr>
<tr class="memdesc:ga1f45b88f42bd06a4518433f79c5999a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clean all the structures used for iteration in the specified stream. This function must be called as a closing function to nc_ntf_stream_iter_start()  <a href="#ga1f45b88f42bd06a4518433f79c5999a3">More...</a><br/></td></tr>
<tr class="separator:ga1f45b88f42bd06a4518433f79c5999a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9e1a02911f865bbc0f2b4e702b82ed7"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#gae9e1a02911f865bbc0f2b4e702b82ed7">ncntf_stream_iter_next</a> (const char *stream, time_t start, time_t stop, time_t *event_time)</td></tr>
<tr class="memdesc:gae9e1a02911f865bbc0f2b4e702b82ed7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pop the next event record from the stream file. The iteration must be started by nc_ntf_stream_iter_start() function.  <a href="#gae9e1a02911f865bbc0f2b4e702b82ed7">More...</a><br/></td></tr>
<tr class="separator:gae9e1a02911f865bbc0f2b4e702b82ed7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga999c0dc786381fe91f1158b76bcbdee9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#ga999c0dc786381fe91f1158b76bcbdee9">ncntf_stream_iter_start</a> (const char *stream)</td></tr>
<tr class="memdesc:ga999c0dc786381fe91f1158b76bcbdee9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start iteration on the events in the specified stream file. Iteration starts on the first event in the first part of the stream file.  <a href="#ga999c0dc786381fe91f1158b76bcbdee9">More...</a><br/></td></tr>
<tr class="separator:ga999c0dc786381fe91f1158b76bcbdee9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1f8e55f0f292f0514e844e7293e2b6b4"><td class="memItemLeft" align="right" valign="top">char **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#ga1f8e55f0f292f0514e844e7293e2b6b4">ncntf_stream_list</a> (void)</td></tr>
<tr class="memdesc:ga1f8e55f0f292f0514e844e7293e2b6b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the list of NETCONF event notifications streams.  <a href="#ga1f8e55f0f292f0514e844e7293e2b6b4">More...</a><br/></td></tr>
<tr class="separator:ga1f8e55f0f292f0514e844e7293e2b6b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga30691c17b09e98c56d39c9ebfaba1ded"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#ga30691c17b09e98c56d39c9ebfaba1ded">ncntf_stream_new</a> (const char *name, const char *desc, int replay)</td></tr>
<tr class="memdesc:ga30691c17b09e98c56d39c9ebfaba1ded"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new NETCONF event stream.  <a href="#ga30691c17b09e98c56d39c9ebfaba1ded">More...</a><br/></td></tr>
<tr class="separator:ga30691c17b09e98c56d39c9ebfaba1ded"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad1efe90aba028ffbb2b018b30f8e3a4b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d54/group__notifications.html#gad1efe90aba028ffbb2b018b30f8e3a4b">ncntf_subscription_check</a> (const <a class="el" href="../../db/de9/group__rpc.html#gab21d1d39737065c552f2ccc5b4819262">nc_rpc</a> *subscribe_rpc)</td></tr>
<tr class="memdesc:gad1efe90aba028ffbb2b018b30f8e3a4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check validity of &lt;create-subscription&gt; message.  <a href="#gad1efe90aba028ffbb2b018b30f8e3a4b">More...</a><br/></td></tr>
<tr class="separator:gad1efe90aba028ffbb2b018b30f8e3a4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>libnetconf's implementation of NETCONF asynchronous message delivery as defined in RFC 5277. </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga3c2f8ca237327fcf3c871544f414bdfe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct nc_msg <a class="el" href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Event notification message. </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="gadcf8c532762d57f7d9a5491e6abb9977"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="../../da/d54/group__notifications.html#gadcf8c532762d57f7d9a5491e6abb9977">NCNTF_EVENT</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enumeration of supported NETCONF event notifications. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggadcf8c532762d57f7d9a5491e6abb9977abd5b82879a0ac7c45f8556154fb6286a"></a>NCNTF_ERROR</em>&#160;</td><td class="fielddoc">
<p>error return code </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadcf8c532762d57f7d9a5491e6abb9977a1f1e3c2032baf2542b06052243bd42c9"></a>NCNTF_GENERIC</em>&#160;</td><td class="fielddoc">
<p>a generic notification not directly supported by libnetconf </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadcf8c532762d57f7d9a5491e6abb9977aa440351ba1c82a0dd9e5301a6d03c5ac"></a>NCNTF_REPLAY_COMPLETE</em>&#160;</td><td class="fielddoc">
<p>&lt;replayComplete&gt; notification announcing the end of Replaying the stream </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadcf8c532762d57f7d9a5491e6abb9977a0a0d2e20f15e710f1da3dace9a55fc67"></a>NCNTF_NTF_COMPLETE</em>&#160;</td><td class="fielddoc">
<p>&lt;notificationComplete&gt; notification announcing the end of Notification stream </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadcf8c532762d57f7d9a5491e6abb9977a9cf730f96784afdb8d783df8dacfab21"></a>NCNTF_BASE_CFG_CHANGE</em>&#160;</td><td class="fielddoc">
<p>netconf-config-change (RFC 6470) </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadcf8c532762d57f7d9a5491e6abb9977af6adea71e2edc918ae1f7ade6f11ca59"></a>NCNTF_BASE_CPBLT_CHANGE</em>&#160;</td><td class="fielddoc">
<p>netconf-capability-change (RFC 6470) </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadcf8c532762d57f7d9a5491e6abb9977a7e0ecf6ec462565f5bc9a1edfd7d4c6c"></a>NCNTF_BASE_SESSION_START</em>&#160;</td><td class="fielddoc">
<p>netconf-session-start (RFC 6470) </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadcf8c532762d57f7d9a5491e6abb9977a1c06188153af81757d0ba8aac0768550"></a>NCNTF_BASE_SESSION_END</em>&#160;</td><td class="fielddoc">
<p>netconf-session-end (RFC 6470) </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadcf8c532762d57f7d9a5491e6abb9977a2048b9cca78f499a6f361e9eeb9fa3e5"></a>NCNTF_BASE_CONFIRMED_COMMIT</em>&#160;</td><td class="fielddoc">
<p>netconf-configrmed-commit (RFC 6470) </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="ga1e9d948b3807d679482c737da720477d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="../../da/d54/group__notifications.html#ga1e9d948b3807d679482c737da720477d">NCNTF_EVENT_BY</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enumeration of the possible source of events. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga1e9d948b3807d679482c737da720477da378e4e13ce4d7f8e1ede2a876fbc30e0"></a>NCNTF_EVENT_BY_SERVER</em>&#160;</td><td class="fielddoc">
<p>event is caused by a server </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1e9d948b3807d679482c737da720477dab20423755c56c213cd2567b2bbf1f9c2"></a>NCNTF_EVENT_BY_USER</em>&#160;</td><td class="fielddoc">
<p>event is caused by the user's action </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gafda56cbfe02d24877d0740618aa2de98"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../db/de9/group__rpc.html#gab21d1d39737065c552f2ccc5b4819262">nc_rpc</a>* nc_rpc_subscribe </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const struct nc_filter *&#160;</td>
          <td class="paramname"><em>filter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const time_t *&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const time_t *&#160;</td>
          <td class="paramname"><em>stop</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create &lt;create-subsciption&gt; NETCONF rpc message. </p>
<p>Detailed description of this operation can be found in RFC 5277, section 2.1.1.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">stream</td><td>Name of the stream of events that is of interest. Optional parameter (NULL is accepted), if not specified, the default NETCONF stream is subscribed. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">filter</td><td>Specify the subset of all possible events to be received. Optional parameter (NULL is accepted). </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">start</td><td>Start time to trigger the replay feature from the specified time. Optional parameter (NULL is accepted). Format of the date is of the type dateTime according to RFC 3339. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">stop</td><td>Stop time to stop the replay of event notifications. Optional parameter (NULL is accepted). Format of the date is of the type dateTime according to RFC 3339. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Created rpc message. </dd></dl>

</div>
</div>
<a class="anchor" id="gad7ffa424401e8004fb24f9f77f0bb5be"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d3/d35/group__gen_a_p_i.html#ga298c7a4ad5cc76169a211f86df90f057">NC_MSG_TYPE</a> nc_session_recv_notif </td>
          <td>(</td>
          <td class="paramtype">struct nc_session *&#160;</td>
          <td class="paramname"><em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>timeout</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a> **&#160;</td>
          <td class="paramname"><em>ntf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Receive a &lt;notification&gt; message from the specified NETCONF session. This function is supposed to be performed only by NETCONF clients. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">session</td><td>NETCONF session to use. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>Timeout in microseconds, -1 for infinite timeout, 0 for non-blocking </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">ntf</td><td>Received &lt;notification&gt; message </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="../../d3/d35/group__gen_a_p_i.html#gga298c7a4ad5cc76169a211f86df90f057ab4e4b148e14bdf9f320331b0cbe1dc6d">NC_MSG_NOTIFICATION</a> - success, *ntf points to the received &lt;notification&gt;</li>
<li><a class="el" href="../../d3/d35/group__gen_a_p_i.html#gga298c7a4ad5cc76169a211f86df90f057a43e894ea69b22c6080016fe210da4305">NC_MSG_UNKNOWN</a> - error occurred</li>
<li><a class="el" href="../../d3/d35/group__gen_a_p_i.html#gga298c7a4ad5cc76169a211f86df90f057a827b3c9c898a48ec8e9f8f9af11f1bdd">NC_MSG_REPLY</a> - &lt;rpc-reply&gt; to some request received and enqueued to the internal queue until the <a class="el" href="../../d0/de2/group__reply.html#ga1b8c8ca9516003938e8f647bd870beaa" title="Receive &lt;rpc-reply&gt; response from the specified NETCONF session. This function is supposed to be perf...">nc_session_recv_reply()</a> function is called. Caller is supposed to repeat the function call to receive another &lt;notification&gt; message.</li>
<li><a class="el" href="../../d3/d35/group__gen_a_p_i.html#gga298c7a4ad5cc76169a211f86df90f057a5b0ce1ca54b15ef3ca1ef901263c1b72">NC_MSG_WOULDBLOCK</a> - receiving timeouted without any received message. </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="ga2a6cd8e0aaaaf4e1b84d3a498a2a710c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int nc_session_send_notif </td>
          <td>(</td>
          <td class="paramtype">struct nc_session *&#160;</td>
          <td class="paramname"><em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a> *&#160;</td>
          <td class="paramname"><em>ntf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Send &lt;notification&gt; message from server to client. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">session</td><td>NETCONF session to use. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ntf</td><td>&lt;notification&gt; message to send. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success,<br/>
 non-zero on error. </dd></dl>

</div>
</div>
<a class="anchor" id="ga82da94949fd2d901c3abb2c82882346c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long long int ncntf_dispatch_receive </td>
          <td>(</td>
          <td class="paramtype">struct nc_session *&#160;</td>
          <td class="paramname"><em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(*)(time_t eventtime, const char *content)&#160;</td>
          <td class="paramname"><em>process_ntf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Subscribe for receiving notifications from the given session according to parameters in the given subscribtion RPC. Received notifications are processed by the given process_ntf callback function. Functions stops when the final notification &lt;notificationComplete&gt; is received or when the session is terminated. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">session</td><td>NETCONF session where the notifications will be sent. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">process_ntf</td><td>Callback function to process content of the notification. If NULL, content of the notification is printed on stdout.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of received notifications, -1 on error. </dd></dl>

</div>
</div>
<a class="anchor" id="ga9a085479245b4da6e20fd89892cc7bc1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long long int ncntf_dispatch_send </td>
          <td>(</td>
          <td class="paramtype">struct nc_session *&#160;</td>
          <td class="paramname"><em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../db/de9/group__rpc.html#gab21d1d39737065c552f2ccc5b4819262">nc_rpc</a> *&#160;</td>
          <td class="paramname"><em>subscribe_rpc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Start sending notifications according to the given &lt;create-subscription&gt; NETCONF RPC request. All events from the specified stream are processed and sent to the client until the stop time is reached or until the session is terminated. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">session</td><td>NETCONF session where the notifications will be sent. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">subscribe_rpc</td><td>&lt;create-subscription&gt; RPC, if any other RPC is given, -1 is returned.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>number of sent notifications (including 0), -1 on error. </dd></dl>

</div>
</div>
<a class="anchor" id="ga9641deaca934bcd7ff66ac3ae60fc722"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ncntf_event_new </td>
          <td>(</td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>etime</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../da/d54/group__notifications.html#gadcf8c532762d57f7d9a5491e6abb9977">NCNTF_EVENT</a>&#160;</td>
          <td class="paramname"><em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Store a new event in the specified stream. Parameters are specific for different events. </p>
<h3>Event parameters:</h3>
<ul>
<li><a class="el" href="../../da/d54/group__notifications.html#ggadcf8c532762d57f7d9a5491e6abb9977a1f1e3c2032baf2542b06052243bd42c9">NCNTF_GENERIC</a><ul>
<li><b>const char* content</b> Content of the notification as defined in RFC 5277. eventTime is added automatically. The string should be XML-formatted.</li>
</ul>
</li>
<li><a class="el" href="../../da/d54/group__notifications.html#ggadcf8c532762d57f7d9a5491e6abb9977a9cf730f96784afdb8d783df8dacfab21">NCNTF_BASE_CFG_CHANGE</a><ul>
<li><a class="el" href="../../db/d67/group__store.html#ga5e4b9ee138b963e8ea2354fef2ebbe73" title="Enumeration of the supported types of datastores defined by NETCONF. ">NC_DATASTORE</a> <b>datastore</b> Specify which datastore has changed.</li>
<li><a class="el" href="../../da/d54/group__notifications.html#ga1e9d948b3807d679482c737da720477d" title="Enumeration of the possible source of events. ">NCNTF_EVENT_BY</a> <b>changed_by</b> Specify the source of the change.<ul>
<li>If the value is set to <a class="el" href="../../da/d54/group__notifications.html#gga1e9d948b3807d679482c737da720477dab20423755c56c213cd2567b2bbf1f9c2">NCNTF_EVENT_BY_USER</a>, the following parameter is required:</li>
</ul>
</li>
<li><b>const struct nc_session* session</b> Session that required the configuration change.</li>
</ul>
</li>
<li><a class="el" href="../../da/d54/group__notifications.html#ggadcf8c532762d57f7d9a5491e6abb9977af6adea71e2edc918ae1f7ade6f11ca59">NCNTF_BASE_CPBLT_CHANGE</a><ul>
<li><b>const struct nc_cpblts* old</b> Old list of capabilities.</li>
<li><b>const struct nc_cpblts* new</b> New list of capabilities.</li>
<li><a class="el" href="../../da/d54/group__notifications.html#ga1e9d948b3807d679482c737da720477d" title="Enumeration of the possible source of events. ">NCNTF_EVENT_BY</a> <b>changed_by</b> Specify the source of the change.<ul>
<li>If the value is set to <a class="el" href="../../da/d54/group__notifications.html#gga1e9d948b3807d679482c737da720477dab20423755c56c213cd2567b2bbf1f9c2">NCNTF_EVENT_BY_USER</a>, the following parameter is required:</li>
</ul>
</li>
<li><b>const struct nc_session* session</b> Session that required the configuration change.</li>
</ul>
</li>
<li><a class="el" href="../../da/d54/group__notifications.html#ggadcf8c532762d57f7d9a5491e6abb9977a7e0ecf6ec462565f5bc9a1edfd7d4c6c">NCNTF_BASE_SESSION_START</a><ul>
<li><b>const struct nc_session* session</b> Started session (<a class="el" href="../../db/d52/group__session.html#gga9fba5da8e4c50d2427d0d24e8e7b630ca3a417a51dfb315ebb7d1427357a838b2">NC_SESSION_STATUS_DUMMY</a> session is also allowed).</li>
</ul>
</li>
<li><a class="el" href="../../da/d54/group__notifications.html#ggadcf8c532762d57f7d9a5491e6abb9977a1c06188153af81757d0ba8aac0768550">NCNTF_BASE_SESSION_END</a><ul>
<li><b>const struct nc_session* session</b> Finished session (<a class="el" href="../../db/d52/group__session.html#gga9fba5da8e4c50d2427d0d24e8e7b630ca3a417a51dfb315ebb7d1427357a838b2">NC_SESSION_STATUS_DUMMY</a> session is also allowed).</li>
<li><a class="el" href="../../db/d52/group__session.html#gab8fb6ff96d652b9aeb1223729e5694c2" title="Enumeration of reasons of the NETCONF session termination as defined in RFC 6470. ...">NC_SESSION_TERM_REASON</a> <b>reason</b> Session termination reason.<ul>
<li>If the value is set to <a class="el" href="../../db/d52/group__session.html#ggab8fb6ff96d652b9aeb1223729e5694c2ad43b0471a6cc0e281bc7eb135a59da00">NC_SESSION_TERM_KILLED</a>, the following parameter is required.</li>
</ul>
</li>
<li><b>const char* killed-by-sid</b> The ID of the session that directly caused the session termination. If the session was terminated by a non-NETCONF process unknown to the server, use NULL as the value.</li>
</ul>
</li>
</ul>
<h3>Examples:</h3>
<ul>
<li>ncntf_event_new(-1, NCNTF_GENERIC, "&lt;event&gt;something happened&lt;/event&gt;");</li>
<li>ncntf_event_new(-1, NCNTF_BASE_CFG_CHANGE, NC_DATASTORE_RUNNING, NCNTF_EVENT_BY_USER, my_session);</li>
<li>ncntf_event_new(-1, NCNTF_BASE_CPBLT_CHANGE, old_cpblts, new_cpblts, NCNTF_EVENT_BY_SERVER);</li>
<li>ncntf_event_new(-1, NCNTF_BASE_SESSION_START, my_session);</li>
<li>ncntf_event_new(-1, NCNTF_BASE_SESSION_END, my_session, NC_SESSION_TERM_KILLED, "123456");</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">etime</td><td>Time of the event, if set to -1, the current time is used. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">event</td><td>Event type to distinguish the following parameters. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Specific parameters for different event types as described above. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 for success, non-zero value else. </dd></dl>

</div>
</div>
<a class="anchor" id="ga226e6acf872c57ca4de3847718cfaafe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a>* ncntf_notif_create </td>
          <td>(</td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>event_time</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>content</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a new &lt;notification&gt; message with the given eventTime and content. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">event_time</td><td>Time of the event. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">content</td><td>Description of the event in the XML form. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Created notification message. </dd></dl>

</div>
</div>
<a class="anchor" id="gabc56c72fca74236e9c96f694cf521b67"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ncntf_notif_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a> *&#160;</td>
          <td class="paramname"><em>ntf</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free the notification message. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ntf</td><td>notification message to free. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gadc78f4dd6440f4f1ac3ea12092946bd3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* ncntf_notif_get_content </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a> *&#160;</td>
          <td class="paramname"><em>notif</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get description of the event reported in the notification message. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">notif</td><td>Notification message. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Content of the event description (serialized XML). </dd></dl>

</div>
</div>
<a class="anchor" id="gae00135a2cb85cb2d74d7f0b8b355ab47"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">time_t ncntf_notif_get_time </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a> *&#160;</td>
          <td class="paramname"><em>notif</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get Time of the event reported in the notification message. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">notif</td><td>Notification message. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Time of the event (as number of seconds since the epoch). </dd></dl>

</div>
</div>
<a class="anchor" id="ga3f32038a98705a6dbb9d7038f67cbceb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../da/d54/group__notifications.html#gadcf8c532762d57f7d9a5491e6abb9977">NCNTF_EVENT</a> ncntf_notif_get_type </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../da/d54/group__notifications.html#ga3c2f8ca237327fcf3c871544f414bdfe">nc_ntf</a> *&#160;</td>
          <td class="paramname"><em>notif</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get a specific notification type. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">notif</td><td>Notification message to explore. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The same types as for <a class="el" href="../../da/d54/group__notifications.html#ga9641deaca934bcd7ff66ac3ae60fc722" title="Store a new event in the specified stream. Parameters are specific for different events. ">ncntf_event_new()</a> can be returned. If the notification is unknown, the <a class="el" href="../../da/d54/group__notifications.html#ggadcf8c532762d57f7d9a5491e6abb9977a1f1e3c2032baf2542b06052243bd42c9">NCNTF_GENERIC</a> is returned. </dd></dl>

</div>
</div>
<a class="anchor" id="ga3c44d0f8b0ffe29050de73f2ac209a32"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ncntf_session_get_active_subscription </td>
          <td>(</td>
          <td class="paramtype">struct nc_session *&#160;</td>
          <td class="paramname"><em>session</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if a session has an active notification subscription. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">session</td><td>NETCONF session to check.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if there is no active subscription, non-0 otherwise. </dd></dl>

</div>
</div>
<a class="anchor" id="ga8c116b8aae2fe13811ebbfd3ca6f1a44"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* ncntf_status </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the status data in xml form describing the currently used streams. </p>
<dl class="section return"><dt>Returns</dt><dd>Text containing streams status data in xml form (urn:ietf:params:xml:ns:netmod:notification in RFC 5277). </dd></dl>

</div>
</div>
<a class="anchor" id="ga05a14f949bbb781fd58a233b1d2fab33"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ncntf_stream_allow_events </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>event</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the rule to allow logging of the specified event on the given Notification stream. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">stream</td><td>Name of the stream where to allow event logging </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">event</td><td>Name of the event which to allow on the given stream </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, non-zero on error </dd></dl>

</div>
</div>
<a class="anchor" id="gaff62ddbbd893faf50d3db3fa3b08c21f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ncntf_stream_info </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>desc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>start</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get some more details about the specified NETCONF event notifications stream. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">stream</td><td>Name of the stream. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">desc</td><td>Pointer to a description string is returned. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">start</td><td>Pointer to a time string of the stream start time is returned. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, non-zero on error (desc and start are not returned in such a case). </dd></dl>

</div>
</div>
<a class="anchor" id="ga8958e791e810dd07b9121d78c870e8c5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ncntf_stream_isavailable </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Test if the given stream is already created and available. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name of the stream to check. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 - the stream is not present,<br/>
1 - the stream is present </dd></dl>

</div>
</div>
<a class="anchor" id="ga1f45b88f42bd06a4518433f79c5999a3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ncntf_stream_iter_finish </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>stream</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clean all the structures used for iteration in the specified stream. This function must be called as a closing function to nc_ntf_stream_iter_start() </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">stream</td><td>Name of the iterated stream. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gae9e1a02911f865bbc0f2b4e702b82ed7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* ncntf_stream_iter_next </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>stop</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t *&#160;</td>
          <td class="paramname"><em>event_time</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pop the next event record from the stream file. The iteration must be started by nc_ntf_stream_iter_start() function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">stream</td><td>Name of the stream to iterate. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">start</td><td>Time of the first event the caller is interested in. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">stop</td><td>Time of the last event the caller is interested in. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">event_time</td><td>Time of the returned event, NULL if caller does not care. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Content of the next event in the stream. </dd></dl>

</div>
</div>
<a class="anchor" id="ga999c0dc786381fe91f1158b76bcbdee9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ncntf_stream_iter_start </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>stream</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Start iteration on the events in the specified stream file. Iteration starts on the first event in the first part of the stream file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">stream</td><td>Name of the stream to iterate. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga1f8e55f0f292f0514e844e7293e2b6b4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char** ncntf_stream_list </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the list of NETCONF event notifications streams. </p>
<dl class="section return"><dt>Returns</dt><dd>NULL terminated list of stream names. It is up to the caller to free the list </dd></dl>

</div>
</div>
<a class="anchor" id="ga30691c17b09e98c56d39c9ebfaba1ded"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ncntf_stream_new </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>desc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>replay</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a new NETCONF event stream. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name of the stream. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">desc</td><td>Description of the stream. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">replay</td><td>Specify if the replay is allowed (1 for yes, 0 for no). </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, non-zero value else. </dd></dl>

</div>
</div>
<a class="anchor" id="gad1efe90aba028ffbb2b018b30f8e3a4b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a>* ncntf_subscription_check </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../db/de9/group__rpc.html#gab21d1d39737065c552f2ccc5b4819262">nc_rpc</a> *&#160;</td>
          <td class="paramname"><em>subscribe_rpc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check validity of &lt;create-subscription&gt; message. </p>
<p>This check is done by <a class="el" href="../../da/d54/group__notifications.html#ga9a085479245b4da6e20fd89892cc7bc1" title="Start sending notifications according to the given &lt;create-subscription&gt; NETCONF RPC request...">ncntf_dispatch_send()</a> which returns -1 when test does not pass. However, it can be sometimes useful to run this test before calling <a class="el" href="../../da/d54/group__notifications.html#ga9a085479245b4da6e20fd89892cc7bc1" title="Start sending notifications according to the given &lt;create-subscription&gt; NETCONF RPC request...">ncntf_dispatch_send()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">subscribe_rpc</td><td>&lt;create-subscription&gt; RPC. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reply message to the subscription - ok if tests passed and reply-error with problem description if any of the tests fails. </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Fri Apr 15 2016 09:20:09 for libnetconf by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
